.c3p(@key,@value){
  -webkit-@{key}:@value;
  -moz-@{key}:@value;
  -ms-@{key}:@value;
  -o-@{key}:@value;
  @{key}:@value;
}
// *,
// *:after,
// *:before{
//   -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
//   -webkit-touch-callout: none;
//   -webkit-user-drag: none;
//   -webkit-user-select: none;
//   -ms-user-select: none;
//   -ms-touch-action: none;
//   -moz-user-select: -moz-none;
// }

.boxsizing(@ie:9){
  & when(@ie>=9){
    *{.c3p(box-sizing,border-box);}
  }
  .bsBox{.c3p(box-sizing,content-box);}
}

.baseReset(){
  html{
    height:100%;
    //overflow-y: scroll;//注1
    -webkit-text-size-adjust:100%;
        -ms-text-size-adjust:100%;
    font-family: 'Avenir', Helvetica, Arial, sans-serif;
    -webkit-font-smoothing: antialiased;//字体抗锯齿渲染
    -moz-osx-font-smoothing: grayscale;
  }
  :root {
    //overflow-y: auto;
    //overflow-x: hidden;
  }//注1//注2
  body{
    // font-family:@en_FontFamily , @cn_FontFamily;
    // width: 100vw;//注1//注2
    height:100%;
    max-width:none;
    max-height:none;
    overflow-y: scroll;
    // overflow-x: hidden;//注1//注2
    margin:0;
  }
  //注1：大神张鑫旭经过一些列项目实践，关于浏览器出现滚动条和消失页面不滚动有了更加终极的解决方案，经过大型项目实践已经验证相当具有可行性
  //注2：经实际项目测试并不完全有使用价值，相反，垂直方向的处理容易引起scrollTop的运行
  a
  ,a:link//未被访问前
  ,a:visited//已被访问过
  ,a:hover//鼠标悬停时
  ,a:active{//被用户激活（在鼠标点击与释放之间发生的事件）时
    color: inherit;
    text-decoration: inherit;
    outline: 0;
    // 这句存在【页面可用性】问题，
    // 大神张鑫旭建议要么不处理，
    // 要么使用js判断键盘时间手动添加
    // webkit内核原装:focus {outline: -webkit-focus-ring-color auto 5px;}
    // 可能在input元素上需要处理一步
    // ……囧
    cursor: pointer;
    -webkit-text-decoration-skip:objects;
  }
  h1,h2,h3,h4,h5,h6,
  div,dl,dt,dd,ul,ol,li,
  span,b,i,strong,em{
    position: relative;
    z-index:4;
    -webkit-tap-highlight-color:transparent;
  }
  h1,h2,h3,h4,h5,h6{
    font-size: 1em;
    font-weight: normal;
    margin:0;
  }
  dl,dt,dd,ul,ol,li{
    list-style: none;
    margin:0;
    padding:0;
  }
  .iconfont{font-size: inherit;}
  .floatL{float:left;}
  .floatR{float:right;}
  .ellipsis,
  .text-overflow{
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
}
.text_reset(){
  .text-upp{text-transform:uppercase;}
  .text-low{text-transform:lowercase;}
  .text-cap{text-transform:capitalize;}
}
.lineclamp(@fz,@lh,@caleH:0){
  //@fz：定义字体大小，可以带单位;
  //@lh：定义行高，不带单位，为字体的倍数，也通用倍数，如果测量设计稿为非倍数则使用（行距/字体）;
  //@caleH：定义行数，整数;
  font-size:@fz;
  line-height:@lh;
  & when ( (isnumber(@caleH))and(@caleH>0) ){
    display:-webkit-box;
    word-break:break-all;
    overflow:hidden;text-overflow: ellipsis;
    height:@fz * @lh * @caleH;
    -webkit-line-clamp:@caleH;
    -webkit-box-orient: vertical;
    //多行省略，webkit私有属性，调用JS处理具体情况
  }
}

.tableReset(){
  .table{
    width:100%;
    max-width:100%;
    border-collapse:collapse;
    border-spacing: 0;
  }
}
.ejsReset(){
  textarea.template{display:none !important;}
}

.formReset(){
  button,
  input,
  textarea{
    &:focus{
      outline:0;
    }
  }
  textarea{
    resize: none;
  }
  input:-webkit-autofill {
    background-color: transparent !important;
    background-image:none !important;
  }
  .btn{
    padding:0;
    border:none;
    background:none;
  }
  .btn-hidden{
    display:none;
  }
  .btn-block{
    display:block;
    text-align:center;
    vertical-align:middle;
    width:100%;
  }
}

.def(reset){
  .boxsizing(@ie:9);
  .baseReset();
  .tableReset();
  .ejsReset();
  .formReset();
}

// 部分模块跳级直升3.0
// 3.0以上版本部分模块设定.def(模块名)方法用于导入时默认调用，
// 节约常规调用时间
